"""

pymysql操作数据库，默认是开启事务的
事务必须满足四个条件：
原子性：一个事务中的所有操作，要么全部完成，要么全部不完成，不会结束在中间某个环节。事务在执行过程中发生
      错误，会被回滚（Rollback）到事务开始前的状态，就像这个事务从来没有执行过一样

一致性：
隔离性：
持久性：事务处理结束后，对数据的修改就是永久的，即便系统故障也不会丢失

跑完自动化之后，如何清理测试过程中产生的脏数据：
在测试用例执行完之后，在tearDownclass或是tearDown方法中，通过sql语句，把用例执行过程
中数据库产生的数据给删掉
"""
import pymysql
# 第一步：连接数据库（连接完成后返回一个连接对象）
con = pymysql.connect(host="api.lemonban.com",
                port=3306,
                user="future",
                password="123456",
                charset="utf8",
                cursorclass = pymysql.cursors.DictCursor)

# 第二步：创建一个游标对象(所有的sql语句都需要游标来执行)
cur =con.cursor()
# 第三步：执行sql语句
sql = "删除的sql语句"
res = cur.execute(sql)
print(res)        # 这个sql语句查到了多少条数据

# 第四步：提交事务
# pymsql操作数据库，默认开启了事务，涉及到数据库数据变动的sql语句（增，删，改），一定要提交事务，才会生效）
con.commit()
